home *** CD-ROM | disk | FTP | other *** search
/ Gigarom 1 / Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso / FILES / BBS / SECOND_SIGHT / Archie 1.62⁄F.cpt / Archie 1.62_F / Archie ’89 Doc text next >
Text File  |  1990-05-24  |  58KB  |  1,311 lines

  1.                                 Archie ’89
  2.  
  3.             A Command 50/51 Red Ryder Host 2.0 Enhancement
  4.  
  5.                          *** It’s Shareware ***
  6.  
  7.                         Written by Pete Johnson
  8.                            (PETERJ on GEnie)
  9.                            Glassell Park BBS
  10.                             Los Angeles, CA
  11.                               213-258-7649
  12.  
  13. Archie ’89 is a Host Command 50 application which greatly extends the powers
  14. of Host for the sysop and for the callers through additional menu commands.
  15. Archie ’89 is designed to be launched by Host, and will only function under
  16. that circumstance. 
  17.  
  18. Archie ’89 has evolved from its origins as a file archiving utility (hence
  19. its name, also inspired by Nero Wolfe’s Archie Goodwin) into a set of more
  20. than 30 extensions to the Host command set, all accessible from Host 2.0
  21. menus you create with the Red Ryder Host Menu Editor or TMH.
  22.  
  23. Archie works remotely or locally and displays remote activity on the Host
  24. computer screen. Its abilities include backing up log files, displaying text
  25. files, searching text files for strings, analyzing the CallerLog, various
  26. UserLog displays, searches and backup, file section displays and searches,
  27. displaying the directories of all disks on line, killing selected files,
  28. quitting to the Desktop, resetting the Host computer and launching another
  29. application. To the caller, Archie looks just like Host -- the same prompts
  30. appear with the same options you’ve chosen in the Config file. And, keeping
  31. up with Host, Archie ’89 supports menus — Desk Accessories and commands
  32. enabling you to return to Host, to transfer to another application or to
  33. Quit.
  34.  
  35. To register Archie ’89, fill out the form included in Appendix B and send it
  36. to me with $25. In return, I’ll send you a disk containing the latest
  37. version of Archie with at least three additional commands implemented,
  38. Laserprinted and indexed documentation and some Host 2.0 utilities which I
  39. will not otherwise release. See Appendix B for details.
  40.  
  41. Archie ’89 reads Host 2.0 file formats. If you are running Host 1.4 use
  42. Archie 1.39, which is a free program available from the GEnie FreeSoft
  43. Roundtable. If you cannot find Archie 1.39, call the Glassell Park BBS and
  44. leave me a message: I’ll make it available to you.
  45.  
  46. The first release of Archie ’89 (then called Archie ’88) was version
  47. 1.52, which is a continuation of version numbers I used for the original
  48. Archie.
  49.  
  50.     _______________________________________________________________
  51.  
  52.     If you’re using an earlier version of Archie and want to set
  53.     it up quickly without reading the documentation, just copy
  54.     Archie onto your BBS disk, double-click Archie and answer two
  55.     questions. You’ll also have to convert your menus from Host
  56.     1.4 format to Host 2.0 format — Archie only reads the new
  57.     menus. Also, because Host 2.0 doesn’t tolerate pathnames for
  58.     external applications, make sure your Command 50/51 menu item
  59.     just says Archie (no path) in its Option field. You don’t have
  60.     to do anything else. But if you want to take advantage of the new
  61.     commands, read on…
  62.     _______________________________________________________________
  63.  
  64.             Archie in Action
  65.             ________________
  66.  
  67. Archie Saws Logs…
  68.  
  69. I use Archie to archive my CallerLog and Validation Request files, which are
  70. named CallerLog (of course) and Val.res, respectively. Archie enables me to
  71. append either file to a pair of files called CallerLog.Arch and Val.res.Arch
  72. (Archie adds the suffix .Arch to whatever files it backs up).
  73.  
  74. Archie also lets me read any text file for a selectable amount of time
  75. calculated from the end of the file. If I call remotely at 1200 baud and ask
  76. to see 1.5 minutes of the CallerLog.Arch file, Archie calculates
  77.  
  78. bps  * secs->mins * how long  = bytes to show
  79.  
  80. 120  *    60      *    1.5    =   10800
  81.  
  82. and shows me the last 10,800 characters of the archived CallerLog.
  83. Additionally, Archie can insert a time/date stamp in a newly-reset file. I
  84. use this feature to date my ongoing Validation Request file.
  85.  
  86. Archie also lets me search any text file for selected text strings, which is
  87. useful for reading the CallerLog to track uploads, to check downloads of
  88. particular files or to see what a particular caller has been doing.
  89.  
  90. Archie also analyzes the CallerLog to show board activity with various
  91. calculations. This report is composed when you ask for it, based on the
  92. contents of the CallerLog. It’s directly available to the sysop and/or the
  93. users of a BBS at any time, with up-to-the-last-call information. This is
  94. what that report looks like:
  95.  
  96.                           BBS Activity
  97.  
  98. First caller: 12/13/88 at 11:20:33
  99. Calls: 8   Average: 7 minutes   Use: 1:01 (48%)
  100. Public messages: 10   Private messages: 7   Uploads: 0   Downloads: 4
  101. 300: 0 (0%)  1200: 3 (38%)  2400: 5 (63%)  9600: 0 (0%)  19200: 0 (0%)
  102. Local connects: 0   File transfers cancelled: 0 uploads and 0 downloads
  103. External program launches: 2   Text file reads: 2
  104. Exits: 6 normal, 0 time expired, 2 carrier lost and 1 inactivity
  105. Connect, no log: 1   Host errors: 0   Other errors: 0
  106. Network mail events: 0         4,203K available on disk
  107.  
  108. Most recent callers (old to new):
  109.  
  110. ROBERT STOKES from El Segundo on 12/13/88 at 11:20:33
  111. DAN ACREE from South Gate on 12/13/88 at 11:32:34
  112. STEVE BREISH from Temple City on 12/13/88 at 11:47:10
  113. ROBERT STOKES from El Segundo on 12/13/88 at 11:57:07
  114. MICHAEL SCOTT from Manhattan Beach, CA on 12/13/88 at 12:06:19
  115. LARRY PRINCE from 2138252145 on 12/13/88 at 13:00:53
  116. BRUCE RYNDFLEISZ from LONG BEACH on 12/13/88 at 13:19:54
  117.  
  118. This is a good on-the-run indication of board activity, and the file
  119. transfers cancelled and carrier lost data may give you an early indication
  120. of line noise or modem problems.
  121.  
  122. …And Reads and Edits the UserLog…
  123.  
  124. Archie offers extensive UserLog utilities. You can search for downloaders on
  125. the basis of how many files they’ve downloaded, unless they’ve uploaded a
  126. certain number of files or sent a certain number of messages. Archie’s
  127. defaults are 25 downloads, 1 public message and 1 upload. So anyone who’s
  128. downloaded 25 or more files without posting one message or uploading one
  129. file is shown. You can change these defaults to whatever you want from an
  130. Archie menu command.
  131.  
  132. You can also look at the Givers and Takers on your board. Archie’s default
  133. assumption (changeable by menu) is that 1 upload allows 10 downloads and
  134. that 5 messages are equivalent to 1 upload. Using this measure (or whatever
  135. other you choose), you can look at people under or over any percentage you
  136. specify. Want to see people contributing 500%? 0%? 100%? You name it, Archie
  137. will display it. This and many other UserLog commands allows editing callers
  138. when they are displayed. You can change access level, time limit and/or
  139. delete a user from within Archie.
  140.  
  141. Archie also lets you look for and selectively delete inactive users. You can
  142. look for one-time callers who haven’t called for a while (you set the time
  143. period) or *anyone* who hasn’t called in whatever length of time you
  144. specify. I suspected that I was carrying a number of elderly “one night
  145. stands” in my UserLog, and Archie showed me that I was right. The first time
  146. I used this feature, I was able to trim my UserLog by about 15%.
  147.  
  148. Archie can search the UserLog and display users by time limit, by access
  149. level, by string search for name or by string search for “Calling From.”
  150.  
  151. When you’re done editing, Archie allows you to backup your UserLog to
  152. compress it. You can choose to erase the old UserLog or, if you want
  153. redundancy, you can keep it intact. It will be called UserLog.bak. Archie
  154. treats your UserLog very carefully: at no time in the backup process is
  155. there a chance that you could lose your master UserLog.
  156.  
  157.     _______________________________________________________________
  158.  
  159.     WARNING: Don’t backup your UserLog if you have deleted
  160.     users who precede you in the UserLog order, because Archie
  161.     and Host will no longer know who you are! Host maintains a
  162.     file which shows your position in the UserLog when you’re
  163.     working remotely. If you are user number 50 and you delete
  164.     user number 15, you will become user number 49 after the
  165.     backup, and Host and Archie will think that you are now
  166.     whoever was user number 51 before the backup. This
  167.     shouldn’t be a problem on most systems, since this command
  168.     should be used only by the sysop, who is usually the first
  169.     entry in the UserLog.
  170.     _______________________________________________________________
  171.  
  172. Several of the UserLog searches have “public” forms which show limited
  173. information about the CallerLog, so if you want to let your callers use
  174. Archie to find other callers from a particular city, for instance, you can
  175. do so with only the Caller’s first name, last name, where from and date of
  176. last call displayed.
  177.  
  178. If you need more sophisticated UserLog editing features you can find them in
  179. other Host utility applications such as Ralph Yount’s excellent TUE.
  180.  
  181. …And Searches for Files…
  182.  
  183. Archie ’89 can search filenames *and* descriptions for matching characters,
  184. so you can offer your callers very sophisticated file access. And Archie
  185. displays file sections with more information than Host offers. Here is a
  186. sample Archie file display:
  187.  
  188. Title: HyperTerm 3   Size: 15K     Version: 3.0        Uploaded: 07/27/88
  189. Downloads: 4     Last Download: 08/02/88  Uploader: Pete Johnson
  190. Fully capable telecommunications terminal program in a HyperCard stack. 
  191. Includes baud rate & parameter selection, some macros and MacBinary Xmodem 
  192. file transfers (using XCMDs). Very nicely done. Version 3.0. Stuffit file.
  193.  
  194. As you can see, this listing includes the name of the uploader (good for
  195. motivating your callers to upload), the last access and version number in
  196. addition to all the information Host shows in its standard file display.
  197.  
  198. …And Many Other Things
  199.  
  200. Archie can do all manner of other things: kill files, show directory
  201. listings, print files on an ImageWriter, alter its own defaults, pre
  202. validate users, back up the UserLog and so forth. We’ll itemize Archie’s
  203. menu commands in a few more paragraphs, but first a few more words on basic
  204. Archie topics.
  205.  
  206. Menu Commands
  207.  
  208. Archie has its own command set, à la Host:  you can set up your own menus to
  209. access whatever Archie attributes you want to implement, complete with
  210. security levels and optional information. The command set is, of course,
  211. different from Host’s, with the exception of five commands: Command 0
  212. displays a line of menu information, Command 2 transfers to another menu and
  213. Commands 12-14 display text files just as in Host. I arbitrarily numbered
  214. Archie’s commands starting at 90 and tried to group them by function (not
  215. very successfully as Archie has evolved — I’ve also had to dip into the 80s
  216. for command numbers).
  217.  
  218. Inner Resources
  219.  
  220. When you first launch Archie, you will be asked the path and name of your
  221. Host program and the path and name of the primary Archie menu. Archie stores
  222. these as internal resources. All other necessary details are gleaned by
  223. Archie from the LaunchRRH file, from the Config file, from the UserLog file
  224. and from commands and options in menus. If you have problems getting Archie
  225. set up, check your pathnames carefully.
  226.  
  227. Error Reporting
  228.  
  229. If Archie has problems, it writes error messages to a file called Archie
  230. Errorlog, so check the contents of this file if you can’t get Archie to run.
  231.  
  232. Environmental Impact
  233.  
  234. Archie ’89 is a workhorse utility which should be copied to the same disk
  235. and folder as your Red Ryder Host program. It will look for its Archie Menu
  236. wherever you’ve told it. Archie is not a stand-alone utility: it is designed
  237. to be launched by a Red Ryder Host Command 50 or 51, and will work only
  238. under that condition. Since Host 2.0 doesn’t accept pathnames for Command
  239. 50/51 applications, make sure the Option field for any Command 50s contains
  240. only the application name — Archie — and that Archie is at the same folder
  241. level as Host.
  242.  
  243. The only problematic command in Archie’s repertoire is Command 127 — the
  244. directory command. The directory command can do strange things to the system
  245. default path, and may produce odd side-effects. I’ve tried to alter it so
  246. that it restores the default path when it’s done, but I’m not convinced I
  247. succeeded. If you want to use this command, experiment with it first in
  248. local mode to be sure it works with your setup. If it works locally, it will
  249. work remotely.
  250.  
  251. Because it’s compiled in ZBasic, Archie expects to see a printer driver in
  252. the System folder (“Stupid ZBasic Tricks”), though it normally uses no
  253. printing resources. Archie also requires at least one menu file. You can
  254. call this menu anything and put it anywhere, as long as you tell Archie
  255. what it’s called and where it is.
  256.  
  257.                 What Archie Can Do
  258.                    (numerical command summary)
  259.  
  260. Command Type    Description
  261.  
  262.       0    This is a dummy command. Its text is displayed but
  263.         its selection key isn’t active. It’s for formatting
  264.         the menu.
  265.         OPTIONAL DATA: None
  266.  
  267.       2    Branch to another menu.
  268.         OPTIONAL DATA: Path:MenuName
  269.  
  270.      12    Display textfile with paging, interrupt with C (break) or
  271.         S (pause). Like Host Command 12.
  272.         OPTIONAL DATA: Path:FileName
  273.  
  274.      13    Display textfile with paging, no interrupt. Like Host
  275.         Command 13.
  276.         OPTIONAL DATA: Path:FileName
  277.  
  278.      14    Display textfile without paging, interrupt with C or S.
  279.         Like Host Command 14.
  280.         OPTIONAL DATA: Path:FileName
  281.  
  282.      87    <This command available only to registered users>
  283.         Global New File Display. Searches all file sections listed
  284.         in a script for uploads within a caller-specified time limit
  285.         and displays qualifying entries with location. This is an
  286.         ultra-fast version of Command 88, but it depends on file
  287.         sections being organized in the “normal” Host way—oldest
  288.         files at the start, newest files at the end. If your file
  289.         sections are organized differently—alphabetically sorted,
  290.         for instance, use Command 88, which searches every entry
  291.         in a file section to see if it matches the time limit.
  292.         To achieve its speed, Command 87 starts at the end of the
  293.         file section to look for a match. If it finds one, it
  294.         shows the entry and moves backwards until it fails to find
  295.         a match. When there is not match, it moves to the next
  296.         file section in the script.
  297.         The script file consists of a pair of lines for each file
  298.         section. The first line is the path:filesection and the
  299.         second is a short description of the section, like so:
  300.         Glass:BBS:Files:DAs:*DAs
  301.         Desk Accessories
  302.         Appendix E contains the script I use on the Glassell Park
  303.         BBS as an example.
  304.         The first line tells Archie where to go. Archie uses the
  305.         second line to describe the whereabouts of the file.
  306.         OPTIONAL DATA: Path:Script FileName
  307.  
  308.      88    <This command available only to registered users>
  309.         Global New File Display. Searches all file sections listed
  310.         in a script for uploads within a caller-specified time limit
  311.         and displays qualifying entries with location. This is a
  312.         slower version of Command 87, but it looks at every entry
  313.         in a file section, starting at the beginning of the file, for
  314.         a match.
  315.         The script file consists of a pair of lines for each file
  316.         section. The first line is the path:filesection and the
  317.         second is a short description of the section, like so:
  318.         Glass:BBS:Files:DAs:*DAs
  319.         Desk Accessories
  320.         Appendix E contains the script I use on the Glassell Park
  321.         BBS as an example.
  322.         The first line tells Archie where to go. Archie uses the
  323.         second line to describe the whereabouts of the file.
  324.         OPTIONAL DATA: Path:Script FileName
  325.  
  326.      89    <This command available only to registered users>
  327.         Global File Match. Searches all file sections listed in a
  328.         script for uploads which contain a caller-specified string
  329.         of characters in the filename or description fields and
  330.         displays qualifying entries with location.
  331.         The script file is identical in format to the preceding
  332.         description. In fact, both commands can use the same
  333.         script file.
  334.         OPTIONAL DATA: Path:Script FileName
  335.  
  336.      90    Display callers in the UserLog who have only called
  337.         the board once and who haven’t called since [you choose
  338.         the number of days]. This command allows you to delete
  339.         users as they are shown. It’s a useful “scavenging”
  340.         command to get rid of one-time callers who will probably
  341.         never call back. I used it recently to weed out one-time
  342.         callers who hadn’t called in at least 90 days and was
  343.         able to trim my UserLog by 10%. If Optional Data contains
  344.         a string, it’s used as a password for this command.
  345.         OPTIONAL DATA: Password (or none)
  346.  
  347.      91    Same as 90, but shows all callers who haven’t called
  348.         since [you name it], with optional delete. Another tool
  349.         to clean the weeds out of your UserLog.
  350.         OPTIONAL DATA: Password (or none)
  351.  
  352.      92    Search textfile for string. Just like Command 126 (sorry
  353.         about the numerical disorganization — the old commands
  354.         used up all the high numbers and forced newer commands
  355.         into this space), but allows the user to specify a
  356.         percentage of the file to search, calculated from the end
  357.         of the file. If the user enters 10, the last 10% of the
  358.         file is searched.
  359.         OPTIONAL DATA: Path:FileName
  360.  
  361.      93    Analyze CallerLog. Shows number of connections, numbers
  362.         and percentages at various modem speeds, total use and
  363.         percentage of use, statistics on file transfers, messages
  364.         and logoffs. Can be used on *any* CallerLog — current
  365.         or archived.
  366.         OPTIONAL DATA: Path:CallerLogName
  367.  
  368.      94    Print File. Prints a textfile such as the CallerLog on
  369.         an ImageWriter-compatible printer. Not for LaserWriters,
  370.         AppleTalk ImageWriters or other variants. Make sure you
  371.         have enough paper!
  372.         OPTIONAL DATA: None
  373.  
  374.      96    File Search. Searches file section for matching keyword in
  375.         either file name or description, displays file with
  376.         additional information. 
  377.         OPTIONAL DATA: Path:FileSectionName
  378.  
  379.      97    Search String. Reads text file looking for a caller-entered
  380.         string, displays one line if there’s a match.
  381.         OPTIONAL DATA: Path:TextfileName
  382.  
  383.      98    Backup UserLog. Backs up your UserLog. Names the original
  384.         “UserLog.bak” and makes a clean, free-of-deleted-users
  385.         copy called, naturally, “UserLog.” You may elect to delete
  386.         the backup copy. DON’T USE THIS COMMAND UNLESS YOU HAVE
  387.         A HIGH POSITION IN THE USERLOG! Otherwise, deleted users
  388.         above you will shift your position in the UserLog,
  389.         confusing Host.
  390.         OPTIONAL DATA: Password (or none)
  391.  
  392.      99    Return to Host, using a specified menu.
  393.         This allows you to re-enter Host, using a different
  394.         menu than the one you left from (Host automatically
  395.         returns to the last-used menu after a Command 50/51).
  396.         OPTIONAL DATA: Path:Menu
  397.  
  398.     100    Return to Host.
  399.         OPTIONAL DATA: None
  400.  
  401.     101    Return to Host and disconnect without updating your
  402.         UserLog stats (it kills the LaunchRRH file). Useful
  403.         if you want to check on the board but don’t have
  404.         time to answer messages, since it won’t reset your
  405.         statistics when you leave.
  406.         OPTIONAL DATA: None
  407.  
  408.     102    Resets the Host system. This wipes out the LaunchRRH file,
  409.         so your call won’t be recorded in the UserLog stats. This
  410.         command is useful for resetting Host — it works locally and
  411.         remotely — and is included for those times when you notice
  412.         that the BBS is not working properly (I have to periodically
  413.         reset Glassell Park to refresh file section displays and
  414.         [occasionally] to fix garbled menu displays [most of my
  415.         menus run from a RamDisk]). Since my board automatically
  416.         launches Host after a reset, this is an easy way to
  417.         “refresh” the BBS.
  418.         OPTIONAL DATA: None
  419.  
  420.     103    Launch another program.
  421.         OPTIONAL DATA: Path:ProgramName
  422.  
  423.     104    Kill a file. Caller is asked for Path:FileName. This
  424.         is an obviously dangerous command, but don’t worry:
  425.         if you don’t want to implement it, don’t put it in a
  426.         menu, and if you do want to implement it, give it a
  427.         high clearance requirement.
  428.         OPTIONAL DATA: None
  429.  
  430.     105    Reset log file with datestamp. Writes a datestamp (a
  431.         line of date/time info followed by a line of ‘-----’)
  432.         then appends the file named in the Optional Data to
  433.         the end of a file with the same name plus the suffix
  434.         ‘.Arch’ (BBS:Val.res becomes BBS:Val.res.Arch). Useful
  435.         for dating archived survey files, such as a validation
  436.         survey. After appending onto the archive file, it opens
  437.         an empty copy of the file specified in the Optional
  438.         data.
  439.         OPTIONAL DATA: Path:FileName
  440.  
  441.     106    Same as 105, without the datestamp.
  442.         OPTIONAL DATA: Path:FileName
  443.  
  444.     107    View logfile. Archie asks you how much time you want
  445.         to spend reading the file, calculates the correct
  446.         number of characters to show you, and displays them,
  447.         counting from the end of the file, since that’s the
  448.         most recent information. You can pause the display by
  449.         typing S or cancel it with a C.
  450.         OPTIONAL DATA: Path:FileName
  451.  
  452.     108    Brief Name List. Lists UserLog entries sequentially
  453.         with Name and From information (just like Host).
  454.         OPTIONAL DATA: None
  455.  
  456.     109    Name/Last Call List. Lists UserLog entries sequentially
  457.         with Name, From and Last Call information.
  458.         OPTIONAL DATA: None
  459.  
  460.     110    Count entries in the UserLog. Quickly tells you how
  461.         many individual callers you’re entertaining.
  462.         OPTIONAL DATA: None
  463.  
  464.     111    Search the UserLog for a name (all or part). If the
  465.         name is found, show the caller’s name, where from,
  466.         password (this is the only command in the series of
  467.         UserLog display commands which shows the password: be
  468.         very careful how you use it), # of calls, last call,
  469.         time limit, clearance, uploads, downloads, private
  470.         and public message postings. Allows optional editing
  471.         of caller’s clearance, time and delete status. If there
  472.         is a word in the Optional Data, Archie asks for this
  473.         password for access to this command. If Optional
  474.         Data is empty, no password is required. As protection,
  475.         Archie will not allow you to set a user clearance higher
  476.         than your own, or higher than 250 (this is true for all
  477.         UserLog editing commands)
  478.         OPTIONAL DATA: Password (or none)
  479.  
  480.     112    Same as 111, but UserLog password is not shown and
  481.         editing is not possible. As with 111, you may optionally
  482.         require the caller to enter a password to use this
  483.         command.
  484.         OPTIONAL DATA: Password (or none)
  485.  
  486.     113    Like 112, but shows only the caller’s name, where from,
  487.         number of calls and last call. No editing.
  488.         OPTIONAL DATA: Password (or none)
  489.  
  490.     114    Pre Validate User. Lets you remotely create a user name and
  491.         password and set access level and time limit. You cannot
  492.         set a user access level higher than your own, and in no case
  493.         can you set an access level higher than 250.
  494.         OPTIONAL DATA: Password (or none)
  495.  
  496.     115    Shows the entire UserLog with the information of
  497.         command 112. The display scrolls, but can be frozen
  498.         or cancelled by typing S or C. No editing.
  499.         OPTIONAL DATA: Password (or none)
  500.  
  501.     116    Lists UserLog on the basis of caller’s clearance.
  502.         Display is the same as Command 112. Editing allowed.
  503.         OPTIONAL DATA: Password (or none)
  504.  
  505.     117    Lists UserLog on the basis of caller’s time limit.
  506.         Display is the same as Command 112. Editing allowed.
  507.         OPTIONAL DATA: Password (or none)
  508.  
  509.     118    Lists UserLog on the basis of caller’s location.
  510.         Display is the same as Command 112 (full, but no
  511.         password). No editing.
  512.         OPTIONAL DATA: Password (or none)
  513.  
  514.     119    Lists UserLog on the basis of caller’s location.
  515.         Display is the same as Command 113 (brief). No editing.
  516.         OPTIONAL DATA: Password (or none)
  517.  
  518.     120    List downloaders. This command uses three values
  519.         contained in Archie’s resources:
  520.         Number of downloads to qualify a user for display
  521.         Number of uploads to eliminate a user from display
  522.         Number of public messages to eliminate display.
  523.         Archie’s default settings are 25, 1 and 1, which
  524.         will show all users who have:
  525.         • Downloaded 25 or more files -and-
  526.         • Uploaded no files -and-
  527.         • Posted no messages.
  528.         If you want to set different values, no problem: see
  529.         Command 123. You’ll be shown the same user info as in
  530.         command 112. Allows optional editing of caller’s
  531.         clearance, time and delete status. Responds to
  532.         S/Stop and C/Cancel.
  533.         OPTIONAL DATA: Password (or none)
  534.  
  535.     121    Analyze the UserLog for Givers (callers who upload and/or
  536.         post messages) and Takers (callers who aren’t as diligent
  537.         in contributing). This command uses numbers in Archie’s
  538.         resources to compute “figures of merit” for the
  539.         UserLog, and shows callers who exceed (or equal) the
  540.         percentage of your choice (in the case of Givers) or
  541.         who are under (or equal) the percentage of your choice
  542.         (in the case of Takers). Archie starts life assuming:
  543.         1 upload = 10 downloads
  544.         5 messages = 1 upload
  545.         If you want to, you can easily change these values with
  546.         Command 123. These are the variables used by this command:
  547.              • Upload = how many downloads
  548.             • How many messages = an upload
  549.             • “Newcomers” figure — callers
  550.             are not processed unless they
  551.             have called more times than this
  552.             number.
  553.             • “Privileged” level — callers at
  554.             or above this level are not shown
  555.             in the analysis.
  556.         Allows optional editing of caller’s clearance, time and
  557.         delete status. Incidentally, there is no real difference
  558.         in the analysis performed for Givers or Takers — the
  559.         selection changes from “better than” to “worse than.”
  560.         OPTIONAL DATA: Password (or none)
  561.  
  562.     122    Search text file from back to front for string. Same as
  563.         command 126, but starts at the end of the file. It displays
  564.         21 lines of information with the target string in the
  565.         middle.
  566.         OPTIONAL DATA: Path:FileName
  567.  
  568.     123    Resets Archie’s default values for Commands 120 and 121.
  569.         You will be asked for seven criteria to use in analyzing
  570.         the UserLog:
  571.             <1> Downloads per upload?
  572.             <2> Messages equal to one upload?
  573.             <3> Minimum number of calls to qualify?
  574.             <4> Privilege level?
  575.             <5> Number of downloads to list?
  576.             <6> Number of uploads to exempt?
  577.             <7> Number of public messages to exempt?
  578.         Numbers 1-4 are for the Givers/Takers analysis performed
  579.         by Command 121. The first figure assigns an “ideal” ratio
  580.         between downloads and uploads. The second assigns a ratio
  581.         between messages and uploads. The third figure sets a
  582.         threshold to ignore new users. The fourth sets an access
  583.         level at or above which downloaders are ignored.
  584.         The fifth figure sets Downloads to qualify for the list
  585.         downloaders downloaders command 120. The sixth sets the
  586.         Uploads figure to eliminate listing. The seventh sets
  587.         the Public Messages figure to exempt.
  588.         OPTIONAL DATA: None
  589.  
  590.     124    Exit to DeskTop. This will work remotely, but it’s not
  591.         advisable. Meanwhile, it’s handy for the local Sysop
  592.         to jump down to the DeskTop for file maintenance or
  593.         whatever, and eliminates the need for an external
  594.         program to do the same thing.
  595.         OPTIONAL DATA: None
  596.  
  597.     125    Display information about Archie — version number etc.
  598.          OPTIONAL DATA: None
  599.  
  600.     126    Search text file for string. Want to see if Scott Watson
  601.         called during the night? Just put Path:CallerLog in the
  602.         optional data and tell it to look for Mr. Watson. This
  603.         is very useful, and can be applied to all your text
  604.         files. It displays 21 lines of information with the
  605.         target string in the middle, so you can see if Scott
  606.         downloaded anything while he was on the board.
  607.         OPTIONAL DATA: Path:FileName
  608.  
  609.     127    Show directory of all mounted disks or a selected folder.
  610.         Another dangerous command, particularly in conjunction with
  611.         Archie’s Command 104 to kill a file or Host’s Command 26
  612.         which allows uploading a file to replace any file on the
  613.         board. But useful for an absent-minded remote Sysop
  614.         who wants to remotely upload over an obsolete text
  615.         file. Command responds to S/Stop and C/Cancel. This
  616.         command has an unfortunate side-effect if Archie and
  617.         Host are not together in the topmost (root) folder of
  618.         a volume — it resets the default path, which can mess
  619.         Host and Archie up. Don’t use unless Archie and Host
  620.         are in the root directory.
  621.         OPTIONAL DATA: None
  622.  
  623.     128    Clear SYSTEMx.MSG read flags in UserLog. Gives you the
  624.         ability to clear all read flags for SYSTEM1.MSG,
  625.         SYSTEM2.MSG or SYSTEM3.MSG, so you can show new system
  626.         messages to all your callers.
  627.           OPTIONAL DATA: Password (or none)
  628.  
  629.     129    Set/Clear restriction flags in UserLog. Gives you the
  630.         ability to set or clear all restriction flags.
  631.           OPTIONAL DATA: Password (or none)
  632.  
  633.     130    Zero textfile. Overwrites a textfile with a zero-length
  634.                 textfile. Useful to get rid of cluttering information.
  635.           OPTIONAL DATA: Textfile path:name
  636.  
  637.     131    Clear textfile. Scans a textfile and eliminates all lines
  638.                 which do not contain the current date. Use to trim Tabby
  639.                 log files down to today-only entries.
  640.           OPTIONAL DATA: Textfile path:name
  641.  
  642.     132    Clear/archive textfile. Scans a textfile and appends all
  643.         lines which do not contain the current date to an .arch
  644.         textfile. Use to trim Tabby log files down to today-only
  645.         entries, while preserving an archive of past activity.
  646.         OPTIONAL DATA: Textfile path:name
  647.  
  648.     133    Clear combined message sections. Clears all combined message
  649.         section entries in the UserLog. Use this command to force
  650.         everyone to re-select “combined reads” after you’ve added (or
  651.         deleted) message sections.
  652.         OPTIONAL DATA: Password (or none)
  653.  
  654.                                   * * *
  655.  
  656. These commands obey the standard rules of menu entries, so you can set
  657. clearance levels and have multiple versions of commands shown depending on
  658. the caller’s clearance level. Archie has an arbitrary limit of 75 commands
  659. per menu.
  660.  
  661. Archie returns to Host if more time than is specified in the Host Config
  662. file elapses between commands. It also monitors the Carrier Detect status of
  663. the modem and jumps back to Host if there’s a disconnect on a remote call.
  664.  
  665. Archie has its own screen, which much resembles the Host screen, with
  666. current caller information displayed in a small bar at the top of the
  667. screen. I was inspired to add this by Robert Thurman’s excellent Wrestling
  668. program. I believe he also was the first to suggest that Command 50
  669. applications be driven by Host menus and that Command 50s support menus,
  670. also good ideas which I’ve implemented.
  671.  
  672. Compatibility
  673.  
  674. Archie has been tested on a Mac Plus and a Mac II and it works just fine
  675. with System/Finders from June 1986 forward. I don’t know if it will operate
  676. on a Mac 512K with the 64K ROMs. On the Glassell Park BBS, it runs on a Mac
  677. Plus with a 150K RamDisk and Apple’s May ’87 System Software. It runs
  678. under MultiFinder with 256K of memory allocated and has no problems as
  679. far as I can tell, though I don’t use MultiFinder on the Glassell Park
  680. BBS so I don’t have extensive battlefield experience.
  681.  
  682.             Advanced Techniques
  683.             ___________________
  684.  
  685. Blind Menus
  686.  
  687. Blind menus enable Archie to become an invisible extension to Host’s command
  688. set. You can call Archie from a Host menu and have it execute any of its
  689. command extensions without the caller having to use yet another menu.
  690.  
  691. Here’s how it works: Create a menu  with the word “Execute” (no quotes; caps
  692. and lower case don’t matter) as the first word of the first line of the menu
  693. title. The other two lines don’t matter. The command section should consist
  694. of any one Archie command, together with any necessary optional information.
  695. It should be selected by an asterisk (*). Now, if you add a Command 50/51 to
  696. any Host menu launching Archie, Archie will execute whatever command
  697. you set it for — find a user by location, search a textfile for a string,
  698. read from the end of a textfile, whatever — with no additional menu, then
  699. will return to the Host menu which launched it.
  700.  
  701. When Archie is launched, it looks for whatever default menu you’ve defined
  702. initially. If you want Archie to use additional menus on startup, read the
  703. next section.
  704.  
  705. Multiple Default Menus
  706.  
  707. Archie has the flexibility to use different “default” menus. When Archie is
  708. started, it checks the LaunchRRH file to see if it was launched from a menu
  709. whose name includes another name enclosed in {} curly brackets. If so, Archie
  710. uses the curly bracketed name as its menu when it starts. This menu can be
  711. either an invisible extension to Host’s command set, as described in the
  712. previous paragraph, or a full-blown Host-like menu for Archie to run. Here’s
  713. a step-by-step description of how to set this up:
  714.  
  715.     Find a menu to which you’d like to add a special Archie
  716.     command (it can be any menu except the Main Menu, since Host
  717.     insists on running a menu named simply “Main Menu”). For this
  718.     example, assume that it’s a menu called “User Info”. If you
  719.     wanted Archie to instantly execute Command 119 — brief listing
  720.     of users by location — prepare a menu with the word “Execute”
  721.     as its first title line and the single command 119, selected
  722.     by an asterisk (*). Name the menu “{Find User}” (no quotes,
  723.     but include the curly brackets). Now rename the “User Info”
  724.     menu “User Info {Find User}” (be sure to change its name on
  725.     any menus which branch to it!). That’s it. Whenever Archie is
  726.     launched from the User Info {Find User} menu, it starts up
  727.     with the {Find User} menu as its default. You can do the
  728.     same trick with other menus, all using the same copy of
  729.     Archie.
  730.  
  731. Important Note: The new default menu — {Find User} in this example — must
  732. be located at the same folder level as Archie.
  733.  
  734. Beyond the Sysop
  735.  
  736. As I mentioned at the beginning of this document, Archie was conceived as a
  737. file archiving utility, but it has grown well beyond my original aims. I
  738. first thought that Archie was of use only to the sysop(s) of a board, but
  739. Robert Lanza and others have been using Archie as an extension to Host’s
  740. command set. Since Archie can search text files for strings, it’s not hard
  741. to harness it with a Host survey file to let your callers search for
  742. relevant information. You could, for instance, ask your callers to complete
  743. a “biography” survey of their interests and areas of knowledge, and let
  744. other callers search their responses to make contact. Your Host system can
  745. become a database for your callers.
  746.  
  747. Archie’s abilities to function with blind menus and multiple default menus
  748. increase its flexibility as a Host extension. And since Archie faithfully
  749. reflects the look of your Host system, the caller is not distracted by a new
  750. environment when Archie is launched.
  751.  
  752. If you’d like to see Archie in action, I invite you to call the Glassell
  753. Park BBS. I have implemented Archie in the following ways:
  754.  
  755. • As a U>ser information command from my Main Menu. This menu lets callers
  756.    o search the UserLog for other callers, and shows when they last called
  757.    o see a BBS activity report through Archie’s Analyze CallerLog Command
  758.    o use the About Archie… command
  759.  
  760. • As a S>earch filenames and descriptions for a keyword command from *every*
  761. filesection menu.
  762.  
  763. • As a global file search command which reads all my filesections and shows
  764.    o new files added to every filesection
  765.    o files whose names or descriptions match an entered string
  766.  
  767. • As a sysop set of commands accessible only to a remote sysop and me.
  768.  
  769. If you’re a registered Archie user, I’ll validate you for access to a
  770. special Host sysops section on Glassell Park where I intend to make Archie
  771. updates and — possibly — other Host utilities available.
  772.  
  773. ResEdit
  774.  
  775. If you’re handy with ResEdit, you can customize Archie’s defaults easily.
  776. The default settings are contained in STR  resources, all labelled neatly
  777. according to function.
  778.  
  779. What Next?
  780.  
  781. I have more plans for Archie, and I’m open to suggestions. However, future
  782. enhancements to Archie will be available only to registered users. I am
  783. working with Ralph Yount on implementing additional remote UserLog functions
  784. — I hope to make Archie a full-featured remote UserLog Editor, and Ralph is
  785. giving me some great ideas. In addition, I want to add editing functions
  786. to Archie’s FileSection repertoire. And I have some other ideas for how Archie
  787. can become an even more useful extension to Host.
  788.  
  789.               The Big Finish
  790.               _______________
  791.  
  792. Thanks to John Alcock, who designed Archie’s handsome icon. Additional bows
  793. to Robert Lanza, Patricia O’Connor, Ray Terry, Ed Edell, Otis Eversole, Greg
  794. Hulbert, Dennis Cosio, Steve Riggins, Reed Hutchinson and Jon Haferman, who
  795. have been most enthusiastic Archie users and sometimes beta testers. Thanks
  796. also to those nice people — including many people in this small list — who
  797. sent me postcards in return for using previous editions of Archie.
  798.  
  799. And thanks especially to Scott Watson for creating Host and for giving it
  800. the ability to launch external applications.
  801.  
  802.     Pete Johnson
  803.     January, 1989
  804.  
  805.     Glassell Park BBS
  806.     Post Office Box 65074
  807.     Los Angeles, CA 90065
  808.     (213) 258-7649 (300/1200/2400/9600 HST baud, 24 hours)
  809.  
  810.  
  811. Appendix A
  812.  
  813.          List of Archie Commands by Function
  814.        (see earlier command listing for fuller explanations)
  815.  
  816.          (*) Optional information required
  817.          (&) Optional information can be used
  818.  
  819. Cmd   Name        Definition
  820.  
  821. UserLog
  822.  
  823.  90 — Scavenge 1    Find inactive one-time callers (&)
  824.  91 — Scavenge all    Find inactive callers (&)
  825.  98 — Back UserLog    Back up UserLog (&)
  826. 108 — Name List        List Name, From only
  827. 109 — Name List        List Name, From, Last Call
  828. 110 — Count Users    Count UserLog entries
  829. 111 — Name Search    Full UserLog display (&)
  830. 112 — Name Search    Like 111, password not shown (&)
  831. 113 — Name Search    Name/From/Call stats only (&)
  832. 114 - Pre Validate    Create a validated user (&)
  833. 115 — Find User        Non-stop UserLog display (&)
  834. 116 — List Level    List users by access  (&)
  835. 117 — List Time     List users by time (&)
  836. 118 — Location        List users by location/full (&)
  837. 119 — Location        List users by location/brief (&)
  838. 120 — List DL        List downloaders (&)
  839. 121 — Credit Check    Analyze user contributions (&)
  840. 123 — Alter Default    Change user analysis values
  841. 128 - Clear Msg Read    Clear SYSTEMx.MSG read flags (&)
  842. 129 - Restrict flags    Set/clear restriction flags
  843. 133 - Clear Msg Combos    Clear combined msg sections (&)
  844.  
  845. Files & Logs
  846.  
  847.  93 — Analyze CLog    Analyze CallerLog (*)
  848.  94 - Print File    Prints text file on ImageWriter (*)
  849. 104 — Kill File        Delete a file
  850. 105 — Reset         Reset file with datestamp (*)
  851. 106 — Reset        Reset file no datestamp (*)
  852. 107 — View        Read a log file from end (*)
  853. 130 - Zero textfile     Rewrite a textfile to zero length (*)
  854. 131 - Clear textfile    Clear a textfile to today’s entries (*)
  855. 132 - Clear/arc text    Like 131, but append old data to archive (*)
  856.  
  857. Display Text Files
  858.  
  859.  12 — Display Text    C cancel, paged (*)
  860.  13 — Display Text    No cancel, paged (*)
  861.  14 — Display Text    C cancel, no page (*)
  862.  92 — Search Log    Look for string in last part of file (*)
  863.  97 - Search String    Search text file, show one line if match (*)
  864. 122 - Search Log    Look for string in file, end to beginning (*)
  865. 126 — Search Log    Look for string in file (*)
  866.  
  867. File Sections        {Commands 88 & 89 for registered users only}
  868.  
  869.  87 - Global New File    Read file sections script, show matches (*)
  870.  88 - Global New File    Read file sections script, show matches (*)
  871.  89 - Global Find File    Read file sections script, show matches (*)
  872.  96 - Find File        Show filename and description matches (*)
  873.  
  874. Miscellaneous
  875.  
  876.   2 — Change Menus    Change menus (*)
  877.  99 — Change Menu     Exit & run another menu (*)
  878. 125 — Archie Info    About Archie…
  879. 127 — Directory        Show directory of volumes
  880.  
  881. Exits
  882.  
  883. 100 — Exit        Normal exit
  884. 101 — No Update        Wipe out LaunchRRH
  885. 102 — Exit        Shutdown
  886. 103 — Launch App    Run another program (*)
  887. 124 — Desktop        Exit Archie to Desktop
  888.  
  889.  
  890. Appendix B
  891.  
  892.                         Registration Information
  893.  
  894. You can register your copy of Archie ’89 by sending me a check for $25 (U.S.
  895. funds only), along with your name and address. I would appreciate it if you
  896. would include GEnie and/or CompuServe addresses if you have them — I will
  897. use this information to notify you of major updates (or I’ll send you a card,
  898. if you’d rather).
  899.  
  900.  
  901. Name: __________________________________________________________________
  902.  
  903. BBS: ___________________________________________________________________
  904.  
  905. Address: _______________________________________________________________
  906.  
  907. City: __________________________________________________________________
  908.  
  909. State: _________________________________________________________________
  910.  
  911. Voice Phone: ______________________  BBS Phone: ________________________
  912.  
  913. GEnie or CompuServe ID #:  _____________________________________________
  914.  
  915.  
  916. Send to:
  917.  
  918. Pete Johnson
  919. Glassell Park BBS
  920. P.O. Box 65074
  921. Los Angeles, CA 90065
  922.  
  923. In return, he said, sounding like a Ronco commercial, this is what you get:
  924.  
  925. • The latest release of Archie, all commands enabled, on an 800K disk
  926.  
  927. • A handsome LaserWriter-printed Archie manual with an index
  928.  
  929. • mehitabel, the sophisticated automatic Host 2.0 message pruning and back up
  930.   utility.
  931.  
  932. • QU, a program I’ve written in LS Pascal which gives you an automated Quote
  933.   of the Day function with Host 2.0.
  934.  
  935. • FSec Cleaner, a utility to check and maintain file section listings and
  936.   back them up.
  937.  
  938. • RePath 2.0, a utility to quickly modify the paths of your file section
  939.   listings.
  940.  
  941. • ReSize 2.5, a utility to recalculate file sizes of your file section
  942.   listings (useful after Stuffing uploads) and more.
  943.  
  944. [ This list of software is subject to change as Host evolves and I get more
  945.   good and bad ideas. ]
  946.  
  947. Appendix C
  948.  
  949.                          Archie Revision History
  950.  
  951. This account is presented for whatever interest it holds and as an
  952. indication of my ongoing commitment to Archie. Some of the changes
  953. implemented in earlier versions have been undone in later versions, some
  954. because they were work-arounds for Host bugs which were later fixed, some
  955. because Host changed and Archie, by virtue of its symbiotic relationship,
  956. had to change too. The earlier listings of Archie’s command set are
  957. authoritative — any other commands mentioned in this section have gone by
  958. the wayside.
  959.  
  960. >>> Changes from Version 0.84 to 1.01 <<<
  961.  
  962. • Addition of nine new commands: branch to another menu on return to
  963. Host, alter Archie’s default settings from within Archie and seven new
  964. UserLog viewing commands, many including UserLog editing functions.
  965.  
  966. • Numerous bug repairs, including fixing the UserLog password function
  967. (it didn’t work) and the local terminal mode (if your terminal settings
  968. were non-Mac, local terminal sessions could be hopelessly strange).
  969.  
  970. • Improved error reporting, including writing error messages to an
  971. “Archie Errorlog” file for later study.
  972.  
  973. • Archie no longer requires an “Archie.inf” file — all necessary
  974. information is contained within Archie. These resources identify the
  975. Host path:filename and the path:name of Archie’s main menu.  Specifying
  976. a particular menu name allows multiple versions of Archie to be used in
  977. a Host system. Archie also contains data for UserLog analysis.
  978.  
  979. • Archie now gets its “inactivity” value from the Host Config file, so
  980. you have the same grace period as Host.
  981.  
  982. • Additional setup flexibility: this version of Archie knows whether
  983. you’re using the modem or printer port, and will work properly with
  984. either.
  985.  
  986. • Some code cleanup, which was offset by creating additional functions,
  987. which messed the code back up.
  988.  
  989. >>> Changes from Version 1.01 to 1.07 <<<
  990.  
  991. • This version features Hot Menus and much better response to keyboard
  992. interrupts (Command-C, Command-S etc.). Prior versions checked the
  993. keyboard only at the end of every text line displayed. Now the keyboard
  994. is checked for interrupts after each character is printed on the screen
  995. and while Archie is searching log files for matches.
  996.  
  997. • I also borrowed an idea from Eric “Dungeons” Johnson: Archie now sets
  998. the three Systemx.msg flags so that people using Archie don’t have to
  999. see the same “one-time” system messages over and over.
  1000.  
  1001. • And, inevitably, bug fixes. Previous versions did not correctly read
  1002. the HotMenus flag in the UserLog. Archie now does. And thanks to Chris
  1003. Hutcheson (C.HUTCHESON) of Club Mac Toronto for pointing out that
  1004. Archie’s “kill a file” command didn’t work. It does now.
  1005.  
  1006. >>> Changes from Version 1.07 to 1.23 <<<
  1007.  
  1008. • Archie uses the access level from the LaunchRRH file rather than from
  1009. the UserLog, so Archie correctly reflects and responds to access level
  1010. changes which have occurred during the current session.
  1011.  
  1012. • Archie shows remaining time and menu options, if they’re specified in
  1013. the Config file.
  1014.  
  1015. • Archie omits pathnames when it shows the name of a file. This makes
  1016. for a neater and more readable display. Rather than “Searching
  1017. MyDisk:BBS:Files:ReadMe:Val.res,” it says, “Searching Val.res.”
  1018.  
  1019. • Another idea swiped from Eric Johnson: if Host is maintaining a
  1020. CallerLog, Archie writes the line
  1021.  
  1022.     External program Archie accessed.
  1023.  
  1024. into the CallerLog whenever it’s launched. The line is indented four
  1025. spaces, so Tom Konantz’ very useful CallerLog Analyzer program ignores
  1026. it. You can disable this feature by changing a resource — Archie’s
  1027. Command 123 lets you change Archie’s STR resource 138 from “Y” to “N” to
  1028. disable it (or you could use ResEdit).
  1029.  
  1030. • I fixed some bugs, reported by Ray Terry, which afflicted the
  1031. Directory command, and while I was at it I added an option to look at
  1032. one specific directory rather than all the volumes on line (Ray Terry’s
  1033. suggestion).
  1034.  
  1035. • I added an option to make Archie an invisible extension to Host’s
  1036. command set. You can now call Archie from a Host menu and have it
  1037. execute any of its command extensions without the caller having to use
  1038. yet another menu. Here’s how it works: Create a menu  with the word
  1039. “Execute” (no quotes; caps and lower case don’t matter) as the first
  1040. word of the first line of the menu title. The other two lines don’t
  1041. matter. The command section should consist of any one Archie command,
  1042. together with any necessary optional information. It should be selected
  1043. by an asterisk (*). Now, if you add a Command 50/51 to any Host menu
  1044. launching Archie, the program will execute whatever command you set it
  1045. for — find a user by location, search a textfile for a string, read from
  1046. the end of a textfile, whatever — with no additional menu, then will
  1047. return to the Host menu which launched it. Ah, you say, but Archie
  1048. always opens a menu called “Archie Menu.” That means I’ll have to have
  1049. more than one copy of Archie if I want to use more than one invisible
  1050. command or if I also want to use Archie in its normal mode. Not with
  1051. this version of Archie. When Archie is started, it checks the LaunchRRH
  1052. file to see if it was launched from a menu whose name includes another
  1053. name enclosed in curly brackets. If so, Archie uses the curly bracketed
  1054. name as its menu when it starts. This menu can be either an invisible
  1055. extension to Host’s command set, as described in the previous paragraph,
  1056. or a full-blown Host-like menu for Archie to run. Here’s a step-by-step
  1057. description of how to set this up:
  1058.  
  1059.     Find a menu to which you’d like to add a special Archie
  1060.     command (it can be any menu except the Main Menu, since Host
  1061.     insists on running a menu named simply “Main Menu”). For this
  1062.     example, assume that it’s a menu called “User Info”. If you
  1063.     wanted Archie to instantly execute Command 119 — brief listing
  1064.     of users by location — prepare a menu with the word “Execute”
  1065.     as its first title line and the single command 119, selected
  1066.     by an asterisk (*). Name the menu “{Find User}” (no quotes,
  1067.     but include the curly brackets). Now rename the “User Info”
  1068.     menu “User Info {Find User}” (be sure to change its name on
  1069.     any menus which branch to it!). That’s it. You can do the same
  1070.     with other menus, all using the same copy of Archie.
  1071.  
  1072. New Archie commands in Version 1.23
  1073.  
  1074. • Commands 12, 13 & 14 are similar to the Host equivalents. They display
  1075. text files.
  1076.  
  1077. • Command 92 is a modification of Command 126. It searches a textfile
  1078. for a string, as 126 does, but it allows the user to specify a
  1079. percentage from the end of the file to search. If the user enters 25,
  1080. Command 92 will search only the last 25% of the file.
  1081.  
  1082. • Command 93 analyzes the CallerLog, showing connections, baud rates,
  1083. file and message activity, percentage of board activity, Command 50
  1084. applications launched and disconnect statistics. It can just as easily
  1085. analyze the CallerLog archive or anything in the CallerLog format.
  1086.  
  1087. • Command 98 backs up the UserLog, so you can eliminate deleted callers.
  1088. It deletes the backup (the original file) only if you say so. As with
  1089. all Archie UserLog actions, this treats the UserLog quite carefully.
  1090.  
  1091. >>> Changes from Archie 1.23 to 1.29 <<<
  1092.  
  1093. The biggest change is that Archie now updates the UserLog with the
  1094. current caller’s activity as recorded in the CallerLog. So, if you’re
  1095. keeping a CallerLog on your disk, the UserLog will *no longer* lose data
  1096. due to Host’s absent-mindedness regarding user statistics. If you’re
  1097. running a Host Command 50 game program, you might want to launch it with
  1098. Archie’s command 103 (using a special menu as described above) so you
  1099. don’t lose caller data. I’ve added a command — 122 — to search a
  1100. textfile from back to front and to display 21 lines in proper sequence
  1101. if the target string is found (this is a command I’ve wanted to
  1102. implement for a long time: Command 92 was a cheap shot at it).
  1103. Additionally, I fixed a small backspacing problem in the local Archie
  1104. display. And I reorganized the Analyze CallerLog display.
  1105.  
  1106. >>> Changes from Archie 1.29 to 1.31 <<<
  1107.  
  1108. A new command, 97, searches a textfile for a string and shows a line of
  1109. the textfile if the string is found. I use this with a text listing of
  1110. the files on the Glassell Park BBS, produced by Tom Konantz’ excellent
  1111. FSP program. It enables a caller to search for a key (such as FKey or
  1112. Mac II or VideoWorks) and will show a filename, its length and a
  1113. description if a match for the key is found. Handy for those times you’d
  1114. like to search for a file description.
  1115.  
  1116. >>> Changes from Archie 1.31 to 1.39 <<<
  1117.  
  1118. Command 94 prints a textfile, such as the CallerLog, to an ImageWriter.
  1119. Tom Fitzsimmons asked me to implement this feature. WARNING: This
  1120. routine simply pumps ASCII characters out the printer port (or the modem
  1121. port in the unlikely event that your modem is hooked to your printer
  1122. port and vice versa — it checks the Config file). It doesn’t use proper
  1123. printer dialog handles and there is no error trapping. It won’t
  1124. recognize a LaserWriter or an AppleTalk ImageWriter, and I don’t know
  1125. what it will do if the ImageWriter is off line or runs out of paper --
  1126. probably lock, waiting for the ImageWriter to come back to life.
  1127.  
  1128. Command 95 allows a caller to get more time in return for uploading
  1129. files. It checks the CallerLog for uploads by the current caller, adds
  1130. up their size and adjusts the caller’s temporary access upward
  1131. accordingly. Baud rate and file size are factored into the adjustment.
  1132. In no case can the caller’s adjusted time be more than twice the
  1133. caller’s original time, and no one can get more than 255 minutes of
  1134. access, regardless of uploads. Thanks to Greg Hulbert for suggesting
  1135. this — I’ve used many of his ideas. Upload information is gleaned from
  1136. the CallerLog. Archie reads the CallerLog from end to beginning until it
  1137. encounters a logon or the launch of an external application. Every
  1138. upload is recorded (up to 25 uploads). Then each upload entry is checked
  1139. for size (Archie opens each file to check its length) and is added to a
  1140. cumulative total of bytes. This total is divided by 67% of the caller’s
  1141. 1-minute data rate to approximate XMODEM transfer rates. Additionally,
  1142. I’ve added a new resource to Archie (STR  140, UL Credit)to allow the
  1143. Sysop to establish an upload credit factor. This is originally set to 1,
  1144. but can be adjusted via ResEdit or the Archie change defaults dialog.
  1145. Changing this to 2 would give uploaders a 100% time bonus; changing it
  1146. to 0.5 would give :30 credit for each minute of uploading.  The caller’s
  1147. *temporary* time limit is adjusted accordingly. When the person next
  1148. calls, the time limit remains as it was originally set in the UserLog --
  1149. no permanent change has been made. But for the session in which the
  1150. caller requested additional time in return for uploading, the caller can
  1151. get as much as twice his or her original time.
  1152.  
  1153. Command 96 searches a filesection for a string and displays the
  1154. filename, size and description if there is a match between the
  1155. user-entered keyword and the filename or its description. This is
  1156. functionally equivalent to command 97 — search a text file listing for
  1157. a keyword and show a line if a match is found — in the previous
  1158. version, but it works directly on Host filesections. You need to put the
  1159. path:filename of the target filesection in the optional field of the
  1160. menu.
  1161.  
  1162. Command 114 prevalidates a user who hasn’t yet called.
  1163.  
  1164. Aside from the new commands, there are a number of improvements over
  1165. previously released versions. The local keyboard is now active when a
  1166. remote caller is on line, Archie has learned to hang up the phone when
  1167. he needs to, some problems with Archie’s resources have been cured,
  1168. Archie is more selective in writing its own accesses to the CallerLog
  1169. (it doesn’t write an Archie access if Archie is used to launch another
  1170. application, but does write the application access), CallerLog entries
  1171. follow the new suggested format for Tom Konantz’ CallerLog Analyzer,
  1172. Archie no longer credits cancelled downloads and uploads to the UserLog,
  1173. someone prevalidating a user or editing another user cannot raise give
  1174. that user a higher access level than the editor’s, etc.
  1175.  
  1176. Although I announced that an earlier version of Archie cured Host’s “MSGHDR”
  1177. bug, it didn’t work. I haven’t been able to implement this fix using ZBasic
  1178. (though I’m still thinking about it). For now, I recommend that you launch
  1179. Archie and any other external application using Eric Johnson’s excellent
  1180. Flags program, which does fix this bug.
  1181.  
  1182. Version 1.39a of Archie fixes a bug which prevented Archie from properly
  1183. handling callers who hang up.
  1184.  
  1185. Version 1.39b of Archie fixes a problem which appeared when users tried to
  1186. modify Archie’s default settings — some pesky resources got scrambled,
  1187. leading to weird results such as Archie reading the UserLog when it meant to
  1188. read a menu. It also alters a “feature” which some judged a bug: Archie now
  1189. asks for a password every time a caller uses a password-protected command.
  1190.  
  1191. Version 1.39c fixes a dumb string length problem.
  1192.  
  1193. Version 1.39d checks to see if a user’s input is too long. Thanks to
  1194. Reed Hutchinson and Steve Riggins for pointing this one out.
  1195.  
  1196. >>> Changes from Archie 1.39 to Archie ’89 <<<
  1197.  
  1198. • Biggest changes: getting Archie to read Host 2.0 file formats — UserLog,
  1199. FileSections, LaunchRRH file, Config et al.
  1200.  
  1201. • Deleted features which had become redundant or unnecessary: no upload
  1202. credit (Command 95), don’t update the UserLog any more, don’t write Archie
  1203. accesses to CallerLog, don’t reset Systemx.msg read flags in UserLog.
  1204.  
  1205. • Added menu support and menu items!
  1206.  
  1207. • Added commands 87, 88 and 89 to read a text file script containing a pair
  1208. of lines for each filesection. The first line lists the path:filesection
  1209. name and the second is a short description of the file area for your users.
  1210. Each command requires the path:name of this script in its option field. Each
  1211. command prompts the caller for input. Commands 87 and 88 ask how many days
  1212. to search and show all files uploaded to the board within that time period.
  1213. Command 89 asks for a string to look for and shows all files whose names or
  1214. descriptions contain the string. All of these commands show files marked
  1215. with an asterisk (*) in the first character of their description only to
  1216. level 255 callers. Nifty. Available only to registered users.
  1217.  
  1218. • Revamped CallerLog analysis function to reflect calls at 9600 and 19200
  1219. baud.
  1220.  
  1221. • Archie now writes all text reads and application launches to the
  1222. CallerLog, if CallerLog writes are specified in the Config file.
  1223.  
  1224.  
  1225. Appendix D
  1226.  
  1227. In Case of Trouble
  1228.  
  1229. If Archie won’t launch properly or misbehaves in some way, before you send
  1230. me a desperate note on GEnie, please check the following:
  1231.  
  1232. • Is Archie being launched from a Host 2.0 menu which contains
  1233.   pathname:Archie as optional information? If so, remove the pathname from
  1234.   the menu (and make sure that Archie is at the same folder level as Host).
  1235.  
  1236. • Is Archie’s menu where it’s supposed to be?
  1237.  
  1238. • Is Archie’s menu in Host 2.0 format? (It should be.)
  1239.  
  1240. • Read the Host CallerLog and see if it contains any error messages.
  1241.  
  1242. • Look for a file called Archie Errorlog in the same folder as Archie. If it
  1243.   exists, read it. This is a file Archie writes to when it gets into most
  1244.   kinds of trouble, and it may contain a clue as to what’s going wrong.
  1245.  
  1246. • The Archie SIZE resource is set to 512K. Try adjusting this number up or
  1247.   down to see if it helps the problem.
  1248.  
  1249. Appendix E
  1250.  
  1251. The following is a sample Command 88/89 script from the Glassell Park BBS. As
  1252. you can see, it consists of paired sets of lines. The first contains the path
  1253. and FileSection name. The second contains the area name to show the caller.
  1254. This script is used by Commands 87, 88 and 89 from an “All Files” directory
  1255. on Glassell Park. The area name is used to direct the caller to the specific
  1256. download directory where the file can be found. Incidentally, you can use
  1257. these Archie commands for more than one thing. Glassell Park uploads go to
  1258. temporary holding files, where they stay until I check them out and move
  1259. them to the downloads. I have a special Archie sysop script which allows me
  1260. to quickly scan all of these holding sections for new uploads.
  1261.  
  1262. Glass:BBS:Files:Business:*Business
  1263. Business
  1264. Glass:BBS:Files:Comm:*Comm
  1265. Communications
  1266. Glass:BBS:Files:DeskAcc:*DeskAcc
  1267. Desk Accessories
  1268. Glass:BBS:Files:Fonts:*Fonts
  1269. Fonts
  1270. Glass:BBS:Files:Fx:*Fx
  1271. Sound Effects
  1272. Glass:BBS:Files:Games:*Games
  1273. Games
  1274. Glass:BBS:Files:Graph:*Graph
  1275. Graphics
  1276. Glass:BBS:Files:Hyper:*Hyper
  1277. HyperCard
  1278. Glass:BBS:Files:Illus:*Illus
  1279. Illustrations
  1280. Glass:BBS:Files:Mac2:*Mac2
  1281. Macintosh II
  1282. Glass:BBS:Files:Music:*Music
  1283. Music
  1284. Glass:BBS:Files:Program:*Program
  1285. Programming
  1286. Glass:BBS:Files:Songs:*Songs
  1287. Songs
  1288. Glass:BBS:Files:Text:*Text
  1289. Text
  1290. Glass:BBS:Files:TN:*TN
  1291. Technical Notes
  1292. Glass:BBS:Files:Utility:*Utility
  1293. Utilities
  1294.  
  1295. Appendix F
  1296.  
  1297. The following files are included in the Shareware distribution package:
  1298.  
  1299. Archie ’89            the application
  1300. Archie ’89 Doc text        the plain text documentation
  1301. Archie Menu            a sample Archie User Menu
  1302. {Archie Sysop}            a sample Archie Sysop menu
  1303. Archie Log Utils        more sysop functions
  1304. Archie User Utils        yet more sysop functions
  1305. !HyperxMenu {Key Search HC}    a sample Host file menu
  1306. {Key Search HC}            a “blind” menu launched by the previous menu
  1307.  
  1308. The menus will require editing before they will work with your system. They
  1309. are provided as samples of what Archie can do and how to set up the menus.
  1310. To use menu items which require passwords, type “Pass” (no quotes).
  1311.